# manifest

- Type: `boolean | PluginManifestOptions`
- Default value: `undefined`

Controls whether the plugin generates manifest artifacts and how they are produced. When enabled, the plugin emits `mf-manifest.json` and `mf-stats.json` (names can be customized via `fileName`) on every build so that other tools can consume them directly through `processAssets` or from the final build output.

- `mf-stats.json`: captures the full build statistics, including the assets for exposes/shared/remotes, `metaData` (plugin version, build info, `remoteEntry`, etc.), and any additional asset analysis. Ideal for debugging or merging stats across environments.
- `mf-manifest.json`: a runtime-oriented manifest distilled from the stats. It keeps the stable structure that Module Federation consumers read when loading remote modules. The exposes/shared/remotes entries describe what is actually available to consumers.

The `PluginManifestOptions` types are as follows:

```ts
interface PluginManifestOptions {
  filePath?: string;
  disableAssetsAnalyze?: boolean;
  fileName?: string;
}
```

## filePath

- Type: `string`
- Default value: `undefined`

manifest filePath

## fileName

- Type: `string`
- Default value: `'mf-manifest.json'`

manifest fileName

If `fileName` is provided, the companion stats file automatically receives a `-stats` suffix (for example, `fileName: 'mf.json'` produces both `mf.json` and `mf-stats.json`). Generated files are written under `filePath` when that option is set.

## disableAssetsAnalyze

:::warning
It is not recommended to set this configuration. After setting, the preload function will be disabled!
:::

- Type: `boolean`
- Required: No
- Default value: `undefined`

When analyzing assets in complex projects, it can take a long time. By setting this option to `true`, asset analysis will be disabled, optimizing build time.
If the project is purely consumer-oriented, it will be set to `true` in dev by default.
If set to `true`, the `shared` and `exposes` fields will not be present in the manifest, and `assets` will not be present in `remotes`.
